在每台虛擬主機上均安裝 ceph-common,使 kubernetes 可使用 ceph/cephfs 作為 Persistent Volume。
並且使用 autofs 自動將 CephFS 掛載起來,讓虛擬主機可直接存取 cephfs。
指令如下:
CEPHCOMMON_VERSION='=12.2.12-0ubuntu0.18.04.2'
for NODE in master1 worker1 worker2
do
ssh ${NODE} "
sudo apt install ceph-common${CEPHCOMMON_VERSION} autofs -y
sudo apt-mark hold ceph-common
echo $(sudo grep key /etc/ceph/ceph.client.admin.keyring | cut -d= -f2-) | \
sudo tee /etc/ceph/admin.secret
sudo chmod 600 /etc/ceph/admin.secret
cat /etc/auto.misc | grep "^mds" | grep ceph | grep ${ACTIVEMDS} || \
echo "mds -fstype=ceph,noatime,nodiratime,name=admin,secretfile=/etc/ceph/admin.secret ${ACTIVEMDS}:/" | \
sudo tee -a /etc/auto.misc
cat /etc/auto.master | grep mnt | grep -F "/etc/auto.misc" || \
echo "/mnt/misc /etc/auto.misc --timeout 0" | \
sudo tee -a /etc/auto.master
sudo service autofs restart
"
done
完成後,即可在虛擬主機中看到 cephfs:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 471M 0 471M 0% /dev
tmpfs 99M 1.5M 98M 2% /run
/dev/sda1 9.8G 5.0G 4.4G 54% /
tmpfs 493M 0 493M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 493M 0 493M 0% /sys/fs/cgroup
tmpfs 99M 0 99M 0% /run/user/1000
10.13.13.101:/ 14G 0 14G 0% /mnt/misc/mds